<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +-----------------------------------------------------------------
// | [PersonalPHP](release 1.0)
// +-----------------------------------------------------------------
// | Copyright: (c) 2016 gengxin, Inc. All Rights Reserved.
// +-----------------------------------------------------------------
// | PHP version: 5.5(ts)
// +-----------------------------------------------------------------
// | Encoding: UTF-8
// +-----------------------------------------------------------------
// | Authors: Xin.Geng <gengxin55200@126.com>
// +-----------------------------------------------------------------
//
// $Id: $
// 此处需要配置SVN更新日志

namespace Home\Controller;
use Think\Controller;

/**
 * class | interface
 */
// class ClassName
//class ClassName2 implements  XxxInterface
class ClassName extends FatherClassName
{
    /**
     * Description
     *
     * @access public | protect | private
     *
     * @param  mix | object
     * @param  int | float | boolean |array
     *
     * @return true | false | null
     */
    function functionName1($param_1 = false, $param_2 = null)
    {
        // this is function
    }

    public function functionName2($param_1 = false, $param_2 = null)
    {
        // this is public function
    }

    private function _functionName3($param_1 = false, $param_2 = null)
    {
        // this is private function
    }

    protected function functionName4($param_1 = false, $param_2 = null)
    {
        // this is private function
    }


    public static function functionName5($param_1 = false, $param_2 = null)
    {
        // this is static function,use "::" for call
        // XxxAction::Xxxx
    }
}

/*

$this->functionName1()
self::

*/
//------------------------------------------------
// 变量
//------------------------------------------------
/*

$a = 1;
$b = '1';
$c = array();
$d = new ClassName();

*/
//------------------------------------------------
// 常量
//------------------------------------------------
/*

const USE = 0;
define('USE_DEMO; , 0);

if (defined('USE_DEMO_AGENT')) {

}
$a = self::USE;
$b = USE_DEMO;

*/
//------------------------------------------------
// 运算符
//------------------------------------------------
/*
,
 .
/
+=
->
=>
||
&&
!
*/

//------------------------------------------------
// 数组
//------------------------------------------------
// XXX 初始化
$arr = array();

$arr = array(
    1 => 'cnf',    // comfirm
    2 => 'cnt',    // count
    3 => 'cmp',    // complete
    4 => 'del',    // delete
    5 => 'add'     // add
);
$arr['cnf'] = '';

// 不确定的循环
foreach ($arr as $key => $val) {

}

foreach ($arr as $key => &$val) {

}

foreach ($arr as $val) {

}

// 确定的循环
for ($i = 0; $i< count($arr); $i++) {

}

//------------------------------------------------
// output
//------------------------------------------------
/*

echo 'XXXX: ' , 'XXX';   // output:
echo '<br />';           // output:
var_dump();              // output:
print_r();               // output:

*/
//------------------------------------------------
// branch
//------------------------------------------------
/*
if ($flg) {
    // content
} else {
    // content
}
*/

/*
// 常用判断
isset()
empty()
is_null()
is_file()
is_dir()
is_array()
*/

/*
switch($case) {
    case 1:
        // 这是代码
        break;
    case 2:
        // 这是代码
        break;
    case 3:
        // 这是代码
        break;
    case 4:
        // 这是代码
        break;
    default:
        break;
}
*/

//------------------------------------------------
// command
//------------------------------------------------

//// MOD STA gengxin 2014-04-09 XXXXXXXXX
//

//
//// MOD END gengxin 2014-04-09 XXXXXXXXX


//// ADD STA gengxin 2014-04-09 XXXXXXXXX
//

//
//// ADD END gengxin 2014-04-09 XXXXXXXXX

//// DEL STA gengxin 2014-04-09 XXXXXXXXX
//
//
//
//// DEL END gengxin 2014-04-09 XXXXXXXXX

//------------------------------------------------
// 常用命名缩写
//------------------------------------------------
// cnt
// cnf
// cmp
// rsv
// add
// del
// info
// ret
// appl
// mod
// srch
// bsc
// tpl
// pre
// cur
// calc
// ex
// flg
// his
// req
// cncl
// tel
// disp
// back

//------------------------------------------------
// 可读性
//------------------------------------------------
// 代码的 ，变量的定义 ，80-85个字符自动换行

// 这是一种编码风格，可以在IDE上设置